package com.cassioso.redeneural.memoria;

/**
 * Classe utilitária que guarda o array de respostas para perfeitas, o nome das formas, e alguns métodos auxiliares para impressão das formas. 
 * @author cassio
 *
 */
public final class UtilM {

	/**
	 * Array de respostas
	 */
	public static final String FORMAS[] = { "QUADRADO", "LOSANGO", "TRIANGULO",
			"RETANGULO HORIZONTAL", "RETANGULO VERTICAL" };

	/**
	 * Array que representa uma figura 100% quadrada
	 */
	public static final int gQUADRADO[] = { 1, -1, -1, -1, -1 };

	/**
	 * Array que representa uma figura 100% circular
	 */
	public static final int gLOSANGO[] = { -1, 1, -1, -1, -1 };

	/**
	 * Array que representa uma figura 100% triangular
	 */
	public static final int gTRIANGULO[] = { -1, -1, 1, -1, -1 };

	/**
	 * Array que representa uma figura 100% retangular horizontal
	 */
	public static final int gRET_H[] = { -1, -1, -1, 1, -1 };

	/**
	 * Array que representa uma figura 100% retangular vertical
	 */
	public static final int gRET_V[] = { -1, -1, -1, -1, 1 };

	public static int[] getGabarito(int i) {
		switch (i) {
		case 0:
			return gQUADRADO;
		case 1:
			return gLOSANGO;
		case 2:
			return gTRIANGULO;
		case 3:
			return gRET_H;
		case 4:
			return gRET_V;
		}
		return null;
	}

	/**
	 * Imprime todos os elementos de um Array
	 * 
	 * @param js
	 */
	public static void imprimeArray(int[] js) {
		System.out.print("{ ");
		for (int i = 0; i < js.length; i++) {
			System.out.print(js[i] + "  ");
		}
		System.out.print("}");
	}

	public static void imprimeArray(String[] s) {
		System.out.print("{  ");
		for (int i = 0; i < s.length; i++) {
			System.out.print(s[i] + "  ");
		}
		System.out.print("}");
	}

	public static void main(String[] args) {
		System.out.println("Todas as formas: \n");
		UtilM.imprimeArray(UtilM.FORMAS);

		System.out.println("\n\nValores para quadrado: \n");
		UtilM.imprimeArray(UtilM.gQUADRADO);

		System.out.println("\n\nValores para losango: \n");
		UtilM.imprimeArray(UtilM.gLOSANGO);

		System.out.println("\n\nValores para triangulo: \n");
		UtilM.imprimeArray(UtilM.gTRIANGULO);

		System.out.println("\n\nValores para retangulo horizontal: \n");
		UtilM.imprimeArray(UtilM.gRET_H);

		System.out.println("\n\nValores para retangulo vertical: \n");
		UtilM.imprimeArray(UtilM.gRET_V);

	}

}
